1. Field of the Invention
The present invention relates to a storage system that is configured by a plurality of nodes including a node having a physical volume. More specifically, the invention relates to a storage system for processing an access request from a host and a method for doing the same.
2. Description of the Related Art
A storage system including a plurality of storage devices (e.g., disk storage devices) connected to each other has recently been developed. A storage cluster (storage cluster system) is known as a storage system of this type.
The feature of the storage cluster is as follows. The storage areas (each referred to as a physical volume hereinafter) existing in a plurality of storage devices (each referred to as a node hereinafter) are bound together over the nodes to provide a host with at least one transversal, virtual storage area (referred to as a logical volume hereinafter) over the nodes. Assume here that the volume is referred to as a block volume to be accessed for each block.
The nodes of the storage cluster are storage devices which are operating at all times. In other words, generally, the nodes in operation deliberately participate in/separate from the storage cluster or they suddenly separate therefrom due to their failure. In the storage cluster, there occurs no frequent participation/separation of nodes due to, for example, everyday power-on/power-off.
In the storage cluster, data (a segment of data) is frequently migrated/copied appropriately to the physical volume of a node that stores the data or the physical volume of another node (automatically or manually). The migration/copy of data aims at making the data redundant and improving access performance and reliability while ensuring the transparency of access to a logic volume from the host. The data redundancy is required in case of a sudden stop of any of the nodes that form the storage cluster, a disk failure, or the like.
The host can gain access to the entire logic volume all over a plurality of nodes simply by accessing a node in the storage cluster through a path. Assume here that a failure occurs on a node to which the host extends a path and the node (failed node) stops. In this case, too, if the data stored in the failed node is made redundant to another node (live node) in the storage cluster, the host can extend a path to the live node again and continue access to the logic volume.
In order to configure the above storage cluster, a system is required to manage which position on which physical volume of which node data on a logical volume is located in. In general, the nodes of the storage cluster functionally include controllers and storages. The controllers manage a path to the host and receive access. The host can gain access to the same logical volume even though it extends a path to any controller. The storages each have a physical volume for storing data.
The volume (block volume) includes a plurality of extents. Each of the extents is formed of a set of fixed-length blocks. Each of the nodes manages one physical volume. On the other hand, the controller of each of the nodes manages physical extents of a physical volume and logical extents of a logical volume in association with each other by a mapping table. A logic volume (logic volume space) is therefore configured. The association between the physical extents and the logical extents using the mapping table is disclosed in, for example, Jon. Pat. Appln. KOKAI Publication No. 9-62452 (referred to as a prior art document hereinafter).
The above mapping table is called a Logical Extent to Physical Extent Mapping Table (LPMT). The LPMT is used to show which physical extents of the physical volume of which node (storage) logical extents of a logical volume is formed of. Each of the controllers of all the nodes in the storage cluster holds an LMPT of the same content. Each of the nodes manages the entire logical volume using the LPMT. The above is intended to continue access to the same logical volume immediately after a path set between a host and a controller is set between the host and another controller.
As described above, in the prior art storage cluster (storage system), each of the nodes has to manage the entire logical volume by the LPMT. However, the size of the LPMT becomes very large depending on the number of physical volumes and the number of extents that form the physical volumes. Thus, a great number of memories on the controllers are consumed.
A first logical extent stored in, e.g., a first physical extent of a node (referred to as a first node hereinafter) in the storage cluster is migrated to, e.g., a second physical extent of another node (referred to as a second node hereinafter). This migration is performed in order to reduce the load of the storage of, e.g., the first node. As described in the above prior art document, in order to improve the performance of access to the storage of a node, a first logical extent stored in a physical extent of the node is sometimes migrated to another physical extent of the node. This migration can improve the performance of access to the storage cluster and the reliability thereof.
According to the storage cluster described above, in order to improve the performance of access to the storage cluster and the reliability thereof, a logical extent stored in a physical extent is migrated/copied to another physical extent in the same storage or a physical extent in another storage. In this case, the controllers of the storage cluster have to be synchronized with each other to update their own LPMTs at once (simultaneously). The simultaneous updating complicates the management of the LPMT and adversely affects the performance of access to the storage cluster.